# List of locales for LocalizationEditor : MIT License
# @author Vladimir Petrenko
extends Object

const LOCALES: = [
	{"code": "aa", "name": "Afar"},
	{"code": "aa_DJ", "name": "Afar (Djibouti)"},
	{"code": "aa_ER", "name": "Afar (Eritrea)"},
	{"code": "aa_ET", "name": "Afar (Ethiopia)"},
	{"code": "af", "name": "Afrikaans"},
	{"code": "af_ZA", "name": "Afrikaans (South Africa)"},
	{"code": "agr_PE", "name": "Aguaruna (Peru)"},
	{"code": "ak_GH", "name": "Akan (Ghana)"},
	{"code": "am_ET", "name": "Amharic (Ethiopia)"},
	{"code": "an_ES", "name": "Aragonese (Spain)"},
	{"code": "anp_IN", "name": "Angika (India)"},
	{"code": "ar", "name": "Arabic"},
	{"code": "ar_AE", "name": "Arabic (United Arab Emirates)"},
	{"code": "ar_BH", "name": "Arabic (Bahrain)"},
	{"code": "ar_DZ", "name": "Arabic (Algeria)"},
	{"code": "ar_EG", "name": "Arabic (Egypt)"},
	{"code": "ar_IN", "name": "Arabic (India)"},
	{"code": "ar_IQ", "name": "Arabic (Iraq)"},
	{"code": "ar_JO", "name": "Arabic (Jordan)"},
	{"code": "ar_KW", "name": "Arabic (Kuwait)"},
	{"code": "ar_LB", "name": "Arabic (Lebanon)"},
	{"code": "ar_LY", "name": "Arabic (Libya)"},
	{"code": "ar_MA", "name": "Arabic (Morocco)"},
	{"code": "ar_OM", "name": "Arabic (Oman)"},
	{"code": "ar_QA", "name": "Arabic (Qatar)"},
	{"code": "ar_SA", "name": "Arabic (Saudi Arabia)"},
	{"code": "ar_SD", "name": "Arabic (Sudan)"},
	{"code": "ar_SS", "name": "Arabic (South Soudan)"},
	{"code": "ar_SY", "name": "Arabic (Syria)"},
	{"code": "ar_TN", "name": "Arabic (Tunisia)"},
	{"code": "ar_YE", "name": "Arabic (Yemen)"},
	{"code": "as_IN", "name": "Assamese (India)"},
	{"code": "ast_ES", "name": "Asturian (Spain)"},
	{"code": "ayc_PE", "name": "Southern Aymara (Peru)"},
	{"code": "ay_PE", "name": "Aymara (Peru)"},
	{"code": "az_AZ", "name": "Azerbaijani (Azerbaijan)"},
	{"code": "be", "name": "Belarusian"},
	{"code": "be_BY", "name": "Belarusian (Belarus)"},
	{"code": "bem_ZM", "name": "Bemba (Zambia)"},
	{"code": "ber_DZ", "name": "Berber languages (Algeria)"},
	{"code": "ber_MA", "name": "Berber languages (Morocco)"},
	{"code": "bg", "name": "Bulgarian"},
	{"code": "bg_BG", "name": "Bulgarian (Bulgaria)"},
	{"code": "bhb_IN", "name": "Bhili (India)"},
	{"code": "bho_IN", "name": "Bhojpuri (India)"},
	{"code": "bi_TV", "name": "Bislama (Tuvalu)"},
	{"code": "bn", "name": "Bengali"},
	{"code": "bn_BD", "name": "Bengali (Bangladesh)"},
	{"code": "bn_IN", "name": "Bengali (India)"},
	{"code": "bo", "name": "Tibetan"},
	{"code": "bo_CN", "name": "Tibetan (China)"},
	{"code": "bo_IN", "name": "Tibetan (India)"},
	{"code": "br_FR", "name": "Breton (France)"},
	{"code": "brx_IN", "name": "Bodo (India)"},
	{"code": "bs_BA", "name": "Bosnian (Bosnia and Herzegovina)"},
	{"code": "byn_ER", "name": "Bilin (Eritrea)"},
	{"code": "ca", "name": "Catalan"},
	{"code": "ca_AD", "name": "Catalan (Andorra)"},
	{"code": "ca_ES", "name": "Catalan (Spain)"},
	{"code": "ca_FR", "name": "Catalan (France)"},
	{"code": "ca_IT", "name": "Catalan (Italy)"},
	{"code": "ce_RU", "name": "Chechen (Russia)"},
	{"code": "chr_US", "name": "Cherokee (United States)"},
	{"code": "cmn_TW", "name": "Mandarin Chinese (Taiwan)"},
	{"code": "crh_UA", "name": "Crimean Tatar (Ukraine)"},
	{"code": "csb_PL", "name": "Kashubian (Poland)"},
	{"code": "cs", "name": "Czech"},
	{"code": "cs_CZ", "name": "Czech (Czech Republic)"},
	{"code": "cv_RU", "name": "Chuvash (Russia)"},
	{"code": "cy_GB", "name": "Welsh (United Kingdom)"},
	{"code": "da", "name": "Danish"},
	{"code": "da_DK", "name": "Danish (Denmark)"},
	{"code": "de", "name": "German"},
	{"code": "de_AT", "name": "German (Austria)"},
	{"code": "de_BE", "name": "German (Belgium)"},
	{"code": "de_CH", "name": "German (Switzerland)"},
	{"code": "de_DE", "name": "German (Germany)"},
	{"code": "de_IT", "name": "German (Italy)"},
	{"code": "de_LU", "name": "German (Luxembourg)"},
	{"code": "doi_IN", "name": "Dogri (India)"},
	{"code": "dv_MV", "name": "Dhivehi (Maldives)"},
	{"code": "dz_BT", "name": "Dzongkha (Bhutan)"},
	{"code": "el", "name": "Greek"},
	{"code": "el_CY", "name": "Greek (Cyprus)"},
	{"code": "el_GR", "name": "Greek (Greece)"},
	{"code": "en", "name": "English"},
	{"code": "en_AG", "name": "English (Antigua and Barbuda)"},
	{"code": "en_AU", "name": "English (Australia)"},
	{"code": "en_BW", "name": "English (Botswana)"},
	{"code": "en_CA", "name": "English (Canada)"},
	{"code": "en_DK", "name": "English (Denmark)"},
	{"code": "en_GB", "name": "English (United Kingdom)"},
	{"code": "en_HK", "name": "English (Hong Kong)"},
	{"code": "en_IE", "name": "English (Ireland)"},
	{"code": "en_IL", "name": "English (Israel)"},
	{"code": "en_IN", "name": "English (India)"},
	{"code": "en_NG", "name": "English (Nigeria)"},
	{"code": "en_NZ", "name": "English (New Zealand)"},
	{"code": "en_PH", "name": "English (Philippines)"},
	{"code": "en_SG", "name": "English (Singapore)"},
	{"code": "en_US", "name": "English (United States)"},
	{"code": "en_ZA", "name": "English (South Africa)"},
	{"code": "en_ZM", "name": "English (Zambia)"},
	{"code": "en_ZW", "name": "English (Zimbabwe)"},
	{"code": "eo", "name": "Esperanto"},
	{"code": "es", "name": "Spanish"},
	{"code": "es_AR", "name": "Spanish (Argentina)"},
	{"code": "es_BO", "name": "Spanish (Bolivia)"},
	{"code": "es_CL", "name": "Spanish (Chile)"},
	{"code": "es_CO", "name": "Spanish (Colombia)"},
	{"code": "es_CR", "name": "Spanish (Costa Rica)"},
	{"code": "es_CU", "name": "Spanish (Cuba)"},
	{"code": "es_DO", "name": "Spanish (Dominican Republic)"},
	{"code": "es_EC", "name": "Spanish (Ecuador)"},
	{"code": "es_ES", "name": "Spanish (Spain)"},
	{"code": "es_GT", "name": "Spanish (Guatemala)"},
	{"code": "es_HN", "name": "Spanish (Honduras)"},
	{"code": "es_MX", "name": "Spanish (Mexico)"},
	{"code": "es_NI", "name": "Spanish (Nicaragua)"},
	{"code": "es_PA", "name": "Spanish (Panama)"},
	{"code": "es_PE", "name": "Spanish (Peru)"},
	{"code": "es_PR", "name": "Spanish (Puerto Rico)"},
	{"code": "es_PY", "name": "Spanish (Paraguay)"},
	{"code": "es_SV", "name": "Spanish (El Salvador)"},
	{"code": "es_US", "name": "Spanish (United States)"},
	{"code": "es_UY", "name": "Spanish (Uruguay)"},
	{"code": "es_VE", "name": "Spanish (Venezuela)"},
	{"code": "et", "name": "Estonian"},
	{"code": "et_EE", "name": "Estonian (Estonia)"},
	{"code": "eu", "name": "Basque"},
	{"code": "eu_ES", "name": "Basque (Spain)"},
	{"code": "fa", "name": "Persian"},
	{"code": "fa_IR", "name": "Persian (Iran)"},
	{"code": "ff_SN", "name": "Fulah (Senegal)"},
	{"code": "fi", "name": "Finnish"},
	{"code": "fi_FI", "name": "Finnish (Finland)"},
	{"code": "fil", "name": "Filipino"},
	{"code": "fil_PH", "name": "Filipino (Philippines)"},
	{"code": "fo_FO", "name": "Faroese (Faroe Islands)"},
	{"code": "fr", "name": "French"},
	{"code": "fr_BE", "name": "French (Belgium)"},
	{"code": "fr_CA", "name": "French (Canada)"},
	{"code": "fr_CH", "name": "French (Switzerland)"},
	{"code": "fr_FR", "name": "French (France)"},
	{"code": "fr_LU", "name": "French (Luxembourg)"},
	{"code": "fur_IT", "name": "Friulian (Italy)"},
	{"code": "fy_DE", "name": "Western Frisian (Germany)"},
	{"code": "fy_NL", "name": "Western Frisian (Netherlands)"},
	{"code": "ga", "name": "Irish"},
	{"code": "ga_IE", "name": "Irish (Ireland)"},
	{"code": "gd_GB", "name": "Scottish Gaelic (United Kingdom)"},
	{"code": "gez_ER", "name": "Geez (Eritrea)"},
	{"code": "gez_ET", "name": "Geez (Ethiopia)"},
	{"code": "gl_ES", "name": "Galician (Spain)"},
	{"code": "gu_IN", "name": "Gujarati (India)"},
	{"code": "gv_GB", "name": "Manx (United Kingdom)"},
	{"code": "hak_TW", "name": "Hakka Chinese (Taiwan)"},
	{"code": "ha_NG", "name": "Hausa (Nigeria)"},
	{"code": "he", "name": "Hebrew"},
	{"code": "he_IL", "name": "Hebrew (Israel)"},
	{"code": "hi", "name": "Hindi"},
	{"code": "hi_IN", "name": "Hindi (India)"},
	{"code": "hne_IN", "name": "Chhattisgarhi (India)"},
	{"code": "hr", "name": "Croatian"},
	{"code": "hr_HR", "name": "Croatian (Croatia)"},
	{"code": "hsb_DE", "name": "Upper Sorbian (Germany)"},
	{"code": "ht_HT", "name": "Haitian (Haiti)"},
	{"code": "hu", "name": "Hungarian"},
	{"code": "hu_HU", "name": "Hungarian (Hungary)"},
	{"code": "hus_MX", "name": "Huastec (Mexico)"},
	{"code": "hy_AM", "name": "Armenian (Armenia)"},
	{"code": "ia_FR", "name": "Interlingua (France)"},
	{"code": "id", "name": "Indonesian"},
	{"code": "id_ID", "name": "Indonesian (Indonesia)"},
	{"code": "ig_NG", "name": "Igbo (Nigeria)"},
	{"code": "ik_CA", "name": "Inupiaq (Canada)"},
	{"code": "is", "name": "Icelandic"},
	{"code": "is_IS", "name": "Icelandic (Iceland)"},
	{"code": "it", "name": "Italian"},
	{"code": "it_CH", "name": "Italian (Switzerland)"},
	{"code": "it_IT", "name": "Italian (Italy)"},
	{"code": "iu_CA", "name": "Inuktitut (Canada)"},
	{"code": "ja", "name": "Japanese"},
	{"code": "ja_JP", "name": "Japanese (Japan)"},
	{"code": "kab_DZ", "name": "Kabyle (Algeria)"},
	{"code": "ka", "name": "Georgian"},
	{"code": "ka_GE", "name": "Georgian (Georgia)"},
	{"code": "kk_KZ", "name": "Kazakh (Kazakhstan)"},
	{"code": "kl_GL", "name": "Kalaallisut (Greenland)"},
	{"code": "km_KH", "name": "Central Khmer (Cambodia)"},
	{"code": "kn_IN", "name": "Kannada (India)"},
	{"code": "kok_IN", "name": "Konkani (India)"},
	{"code": "ko", "name": "Korean"},
	{"code": "ko_KR", "name": "Korean (South Korea)"},
	{"code": "ks_IN", "name": "Kashmiri (India)"},
	{"code": "ku", "name": "Kurdish"},
	{"code": "ku_TR", "name": "Kurdish (Turkey)"},
	{"code": "kw_GB", "name": "Cornish (United Kingdom)"},
	{"code": "ky_KG", "name": "Kirghiz (Kyrgyzstan)"},
	{"code": "lb_LU", "name": "Luxembourgish (Luxembourg)"},
	{"code": "lg_UG", "name": "Ganda (Uganda)"},
	{"code": "li_BE", "name": "Limburgan (Belgium)"},
	{"code": "li_NL", "name": "Limburgan (Netherlands)"},
	{"code": "lij_IT", "name": "Ligurian (Italy)"},
	{"code": "ln_CD", "name": "Lingala (Congo)"},
	{"code": "lo_LA", "name": "Lao (Laos)"},
	{"code": "lt", "name": "Lithuanian"},
	{"code": "lt_LT", "name": "Lithuanian (Lithuania)"},
	{"code": "lv", "name": "Latvian"},
	{"code": "lv_LV", "name": "Latvian (Latvia)"},
	{"code": "lzh_TW", "name": "Literary Chinese (Taiwan)"},
	{"code": "mag_IN", "name": "Magahi (India)"},
	{"code": "mai_IN", "name": "Maithili (India)"},
	{"code": "mg_MG", "name": "Malagasy (Madagascar)"},
	{"code": "mh_MH", "name": "Marshallese (Marshall Islands)"},
	{"code": "mhr_RU", "name": "Eastern Mari (Russia)"},
	{"code": "mi", "name": "Māori"},
	{"code": "mi_NZ", "name": "Māori (New Zealand)"},
	{"code": "miq_NI", "name": "Mískito (Nicaragua)"},
	{"code": "mk", "name": "Macedonian"},
	{"code": "mk_MK", "name": "Macedonian (Macedonia)"},
	{"code": "ml", "name": "Malayalam"},
	{"code": "ml_IN", "name": "Malayalam (India)"},
	{"code": "mni_IN", "name": "Manipuri (India)"},
	{"code": "mn_MN", "name": "Mongolian (Mongolia)"},
	{"code": "mr_IN", "name": "Marathi (India)"},
	{"code": "ms", "name": "Malay"},
	{"code": "ms_MY", "name": "Malay (Malaysia)"},
	{"code": "mt", "name": "Maltese"},
	{"code": "mt_MT", "name": "Maltese (Malta)"},
	{"code": "my_MM", "name": "Burmese (Myanmar)"},
	{"code": "myv_RU", "name": "Erzya (Russia)"},
	{"code": "nah_MX", "name": "Nahuatl languages (Mexico)"},
	{"code": "nan_TW", "name": "Min Nan Chinese (Taiwan)"},
	{"code": "nb", "name": "Norwegian Bokmål"},
	{"code": "nb_NO", "name": "Norwegian Bokmål (Norway)"},
	{"code": "nds_DE", "name": "Low German (Germany)"},
	{"code": "nds_NL", "name": "Low German (Netherlands)"},
	{"code": "ne_NP", "name": "Nepali (Nepal)"},
	{"code": "nhn_MX", "name": "Central Nahuatl (Mexico)"},
	{"code": "niu_NU", "name": "Niuean (Niue)"},
	{"code": "niu_NZ", "name": "Niuean (New Zealand)"},
	{"code": "nl", "name": "Dutch"},
	{"code": "nl_AW", "name": "Dutch (Aruba)"},
	{"code": "nl_BE", "name": "Dutch (Belgium)"},
	{"code": "nl_NL", "name": "Dutch (Netherlands)"},
	{"code": "nn", "name": "Norwegian Nynorsk"},
	{"code": "nn_NO", "name": "Norwegian Nynorsk (Norway)"},
	{"code": "nr_ZA", "name": "South Ndebele (South Africa)"},
	{"code": "nso_ZA", "name": "Pedi (South Africa)"},
	{"code": "oc_FR", "name": "Occitan (France)"},
	{"code": "om", "name": "Oromo"},
	{"code": "om_ET", "name": "Oromo (Ethiopia)"},
	{"code": "om_KE", "name": "Oromo (Kenya)"},
	{"code": "or_IN", "name": "Oriya (India)"},
	{"code": "os_RU", "name": "Ossetian (Russia)"},
	{"code": "pa_IN", "name": "Panjabi (India)"},
	{"code": "pap", "name": "Papiamento"},
	{"code": "pap_AN", "name": "Papiamento (Netherlands Antilles)"},
	{"code": "pap_AW", "name": "Papiamento (Aruba)"},
	{"code": "pap_CW", "name": "Papiamento (Curaçao)"},
	{"code": "pa_PK", "name": "Panjabi (Pakistan)"},
	{"code": "pl", "name": "Polish"},
	{"code": "pl_PL", "name": "Polish (Poland)"},
	{"code": "pr", "name": "Pirate"},
	{"code": "ps_AF", "name": "Pushto (Afghanistan)"},
	{"code": "pt", "name": "Portuguese"},
	{"code": "pt_BR", "name": "Portuguese (Brazil)"},
	{"code": "pt_PT", "name": "Portuguese (Portugal)"},
	{"code": "quy_PE", "name": "Ayacucho Quechua (Peru)"},
	{"code": "quz_PE", "name": "Cusco Quechua (Peru)"},
	{"code": "raj_IN", "name": "Rajasthani (India)"},
	{"code": "ro", "name": "Romanian"},
	{"code": "ro_RO", "name": "Romanian (Romania)"},
	{"code": "ru", "name": "Russian"},
	{"code": "ru_RU", "name": "Russian (Russia)"},
	{"code": "ru_UA", "name": "Russian (Ukraine)"},
	{"code": "rw_RW", "name": "Kinyarwanda (Rwanda)"},
	{"code": "sa_IN", "name": "Sanskrit (India)"},
	{"code": "sat_IN", "name": "Santali (India)"},
	{"code": "sc_IT", "name": "Sardinian (Italy)"},
	{"code": "sco", "name": "Scots"},
	{"code": "sd_IN", "name": "Sindhi (India)"},
	{"code": "se_NO", "name": "Northern Sami (Norway)"},
	{"code": "sgs_LT", "name": "Samogitian (Lithuania)"},
	{"code": "shs_CA", "name": "Shuswap (Canada)"},
	{"code": "sid_ET", "name": "Sidamo (Ethiopia)"},
	{"code": "si", "name": "Sinhala"},
	{"code": "si_LK", "name": "Sinhala (Sri Lanka)"},
	{"code": "sk", "name": "Slovak"},
	{"code": "sk_SK", "name": "Slovak (Slovakia)"},
	{"code": "sl", "name": "Slovenian"},
	{"code": "sl_SI", "name": "Slovenian (Slovenia)"},
	{"code": "so", "name": "Somali"},
	{"code": "so_DJ", "name": "Somali (Djibouti)"},
	{"code": "so_ET", "name": "Somali (Ethiopia)"},
	{"code": "so_KE", "name": "Somali (Kenya)"},
	{"code": "so_SO", "name": "Somali (Somalia)"},
	{"code": "son_ML", "name": "Songhai languages (Mali)"},
	{"code": "sq", "name": "Albanian"},
	{"code": "sq_AL", "name": "Albanian (Albania)"},
	{"code": "sq_KV", "name": "Albanian (Kosovo)"},
	{"code": "sq_MK", "name": "Albanian (Macedonia)"},
	{"code": "sr", "name": "Serbian"},
	{"code": "sr_Cyrl", "name": "Serbian (Cyrillic)"},
	{"code": "sr_Latn", "name": "Serbian (Latin)"},
	{"code": "sr_ME", "name": "Serbian (Montenegro)"},
	{"code": "sr_RS", "name": "Serbian (Serbia)"},
	{"code": "ss_ZA", "name": "Swati (South Africa)"},
	{"code": "st_ZA", "name": "Southern Sotho (South Africa)"},
	{"code": "sv", "name": "Swedish"},
	{"code": "sv_FI", "name": "Swedish (Finland)"},
	{"code": "sv_SE", "name": "Swedish (Sweden)"},
	{"code": "sw_KE", "name": "Swahili (Kenya)"},
	{"code": "sw_TZ", "name": "Swahili (Tanzania)"},
	{"code": "szl_PL", "name": "Silesian (Poland)"},
	{"code": "ta", "name": "Tamil"},
	{"code": "ta_IN", "name": "Tamil (India)"},
	{"code": "ta_LK", "name": "Tamil (Sri Lanka)"},
	{"code": "tcy_IN", "name": "Tulu (India)"},
	{"code": "te", "name": "Telugu"},
	{"code": "te_IN", "name": "Telugu (India)"},
	{"code": "tg_TJ", "name": "Tajik (Tajikistan)"},
	{"code": "the_NP", "name": "Chitwania Tharu (Nepal)"},
	{"code": "th", "name": "Thai"},
	{"code": "th_TH", "name": "Thai (Thailand)"},
	{"code": "ti", "name": "Tigrinya"},
	{"code": "ti_ER", "name": "Tigrinya (Eritrea)"},
	{"code": "ti_ET", "name": "Tigrinya (Ethiopia)"},
	{"code": "tig_ER", "name": "Tigre (Eritrea)"},
	{"code": "tk_TM", "name": "Turkmen (Turkmenistan)"},
	{"code": "tl_PH", "name": "Tagalog (Philippines)"},
	{"code": "tn_ZA", "name": "Tswana (South Africa)"},
	{"code": "tr", "name": "Turkish"},
	{"code": "tr_CY", "name": "Turkish (Cyprus)"},
	{"code": "tr_TR", "name": "Turkish (Turkey)"},
	{"code": "ts_ZA", "name": "Tsonga (South Africa)"},
	{"code": "tt_RU", "name": "Tatar (Russia)"},
	{"code": "ug_CN", "name": "Uighur (China)"},
	{"code": "uk", "name": "Ukrainian"},
	{"code": "uk_UA", "name": "Ukrainian (Ukraine)"},
	{"code": "unm_US", "name": "Unami (United States)"},
	{"code": "ur", "name": "Urdu"},
	{"code": "ur_IN", "name": "Urdu (India)"},
	{"code": "ur_PK", "name": "Urdu (Pakistan)"},
	{"code": "uz", "name": "Uzbek"},
	{"code": "uz_UZ", "name": "Uzbek (Uzbekistan)"},
	{"code": "ve_ZA", "name": "Venda (South Africa)"},
	{"code": "vi", "name": "Vietnamese"},
	{"code": "vi_VN", "name": "Vietnamese (Vietnam)"},
	{"code": "wa_BE", "name": "Walloon (Belgium)"},
	{"code": "wae_CH", "name": "Walser (Switzerland)"},
	{"code": "wal_ET", "name": "Wolaytta (Ethiopia)"},
	{"code": "wo_SN", "name": "Wolof (Senegal)"},
	{"code": "xh_ZA", "name": "Xhosa (South Africa)"},
	{"code": "yi_US", "name": "Yiddish (United States)"},
	{"code": "yo_NG", "name": "Yoruba (Nigeria)"},
	{"code": "yue_HK", "name": "Yue Chinese (Hong Kong)"},
	{"code": "zh", "name": "Chinese"},
	{"code": "zh_CN", "name": "Chinese (China)"},
	{"code": "zh_HK", "name": "Chinese (Hong Kong)"},
	{"code": "zh_SG", "name": "Chinese (Singapore)"},
	{"code": "zh_TW", "name": "Chinese (Taiwan)"},
	{"code": "zu_ZA", "name": "Zulu (South Africa)"},
]

static func label_by_code(code: String) -> String:
	for locale in LOCALES:
		if locale.code == code:
			return locale.code + " " + locale.name
	return ""

static func has_code(code: String) -> bool:
	for locale in LOCALES:
		if locale.code == code:
			return true
	return false
